/**
 * describe:
 *
 * @author chaP
 * @date 2019/03/08
 */
package CodingTest.AC20190308;

import java.util.Arrays;

/**
 * 题目描述
 牛客最近来了一个新员工Fish，每天早晨总是会拿着一本英文杂志，
 写些句子在本子上。同事Cat对Fish写的内容颇感兴趣，有一天他向Fish借来翻看，
 但却读不懂它的意思。例如，“student. a am I”。后来才意识到，这家伙原来把句子单词的顺序翻转了，
 \正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行，你能帮助他么？
 */
public class ReverseSentence {
    public String ReverseSentence(String str){
//        if(str.length() == 0 || str == " ")return str; 这样写的是过不了全部测试用例，因为并不清楚str里到底有几个空字符
        if(str.trim().equals("")) {
            return str;
        }
            String[] s = str.split(" ");
        int low = 0;
        int high = s.length-1;
        StringBuffer sb = new StringBuffer();
        while(low < high){
            String temp = s[low];
            s[low] = s[high];
            s[high] = temp;
            low++;
            high --;
        }

        for(int i = 1;i<s.length-1;i++){
            sb.append(s[i]);
            sb.append(" ");
        }
        sb.append(s[s.length-1]);
       return new String(sb);


    }

    public static void main(String[] args) {
        ReverseSentence rs = new ReverseSentence();
        System.out.println(rs.ReverseSentence(" "));
    }
}
